
Biker 1.0 - Excitebike Editor
By Trax

--------

Biker is a simple editor that lets you modify the tracks in Excitebike for NES. The editor has a relatively intuitive interface, so go ahead and click everywhere like a maniac. If you have any questions, suggestions or comments, let me know: trax@bwass.org

----

How to use

First, do menu "File" -> "Open ROM...". Select any valid Excitebike ROM. The original game has no free space at all, so the editor has to work with an expanded version of the ROM. If you open an untouched Excitebike ROM, the editor will ask if you want the ROM expanded. Go ahead and accept. If you refuse, the editor could explode or something...

----

Main Track Editor - In Brief

On the main window of the editor, you see the current track being edited, surrounded by various controls. Use the menu in the top-left corner to select the track you want to edit. Under this menu is the Object selector. The grid beside it shows the Object currectly selected. It's this Object that will be inserted when you click somewhere in the track, while in Insert Mode. Under the object selector is the Repeat Value, which is used to set the length of certain types of objects. You also have a checkbox that lets you decide if the object will appear in the "Hard" mode of the track...

On the right of the window is the Mode selector, which lets you either select objects to modify or delete them, or insert new objects. Under the Mode selector is the Palettes grid. It lets you change colors, obviously...

On the bottom of the window, you have 3 types of display options that are quite self-explanatory. Click on them like crazy to see the effects. These options don't modify the game itself. They are there for your visual convenience. On the bottom-right, there's a field that lets you set the number of laps for the current track...

----

Select Mode

The Select Mode lets you select objects in the Track Grid to modify them. When you click on an object, a blue outline appears around it, and the Object Selector and Brush Grid are set accordingly. You can change the type of object by clicking on the left and right arrows, or enter a value in the field directly, then press return...

When you select an object which can be repeated, the Repeat Field becomes enabled. You can change this value as well, using arrows or entering a value. There are 7 types of repeatable objects in the game:

00 = Empty Track
16 = Grass - 4 Lanes (1 tile wide)
18 = Grass - Lanes 3-4 (1 tile wide)
1A = Grass - Lanes 1-2 (1 tile wide)
1C = High Ramp with Grass Under (1 tile wide)
20 = Elevated Ground - 4 Lanes (1 tile wide, 2 tiles elevation)
22 = Elevated Ground - 4 Lanes (1 tile wide, 6 tiles elevation)

Objects can be repeated any number of times, up to FF (255 in decimal)...

Press the Backspace key to remove the currently selected object, or use the "Action" menu if you are so inclined. You will be asked to confirm your intention...

You can also decide if you want an object to show up in a track only when in "Hard" mode. Just check or uncheck the Hard checkbox. The "Hard Mode" objects are shown with a red tint in the Track Grid...

----

Insert Mode

This mode lets you insert objects. Really. When this mode is active, a red vertical line is displayed in the Track Grid. This line shows where the currectly selected object will be inserted when you click in the track. Remember that Empty Track stretches are objects, not an absence of object. If you want to insert an object in the middle of a stretch of Empty Track, you have to insert a new Empty Track object next to it, and then insert the object between the two Empty Track objects...

----

Object Codes

This is the complete list of object codes in Excitebike. Lane 1 refers to the topmost lane.

00 = Empty Track
01 = Flat Bump
02 = Mini Bump - Lanes 1-2
03 = Mini Bump - Lanes 1-2
04 = Mini Bump - Lanes 3-4
05 = Big Bump
06 = Big Jump Towards Right
07 = Medium Bump
08 = Small Bump
09 = Lap Bump
0A = Big Jump Towards Left
0B = Narrow Bump
0C = Mud Puddles - Lanes 1-3
0D = Mud Puddles - Lanes 2-4
0E = Small Jump
0F = Cool Down Arrow - Lane 1 (top lane)
10 = Cool Down Arrow - Lane 4 (bottom lane)
11 = Double Line - 4 Lanes
12 = Double Line - Lanes 3-4
13 = Double Line - Lanes 1-2
14 = High Bump with Ramp - Left Part
15 = Slope - 45 degrees (2 tiles wide)
16 = Grass - 4 Lanes (1 tile wide)
17 = Double Line - 4 Lanes
18 = Grass - Lanes 3-4 (1 tile wide)
19 = Double Line - Lanes 3-4
1A = Grass - Lanes 1-2 (1 tile wide)
1B = Double Line - Lanes 1-2
1C = High Ramp with Grass Under (1 tile wide)
1D = High Ramp with Support and Big Mud Puddle
1E = High Ramp with Support and Big Mud Puddle
1F = High Ramp End with Grass Under (1 tile wide)
20 = Elevated Ground - 4 Lanes (1 tile wide, 2 tiles elevation)
21 = Steep Incline (2 tiles elevation)
22 = Elevated Ground - 4 Lanes (1 tile wide, 6 tiles elevation)
23 = Mountain Object - Right Part

----

Palettes

You can edit the color palettes for each track. When you click on a color swatch, a color window appears. Select the new color and the changes will show up in the Track Grid as you go...

The first row may seem to have no effect on color because it only sets the way the crowd flashes at the end of the race. The second row is your primary point of interest, as it changes the colors of the track itself. The third row sets the colors for the sprites, like the men watching the race from the side, the cameramen and the flag man at the end...

----

Best Times

The Best Times Window lets you change the default Best Times for each track. Use the Window menu to bring them up on the screen. For each track, there's a Best Time for the Easy Mode and the Hard Mode. The fields represent the minutes, seconds and hundredths of a second, respectively...

The Best Time is the time you need to beat if you want to get 1st on the podium. The 2nd place is calculated by the game as 4 seconds more than the Best Time. The 3rd place, which is the maximum threshold for access to the next race, is calculated as 8 seconds more than the Best Time...

1st Place :  < Best Time
2nd Place : >= Best Time and < Best Time + 4s
3rd Place : >= Best Time + 4s and < Best Time + 8s

----

Data Manager

The Data Manager window is an advanced feature, and you should use it only if you really know what you are doing. You usually don't need to change these values as the editor will set default values that are fine for all practical purposes...

The three fields represent the offsets in the ROM (in hex) where the data will be written. The editor will take the ROM header into account, so if you enter the value 1000, it will write at 1010 in the ROM...

----

Additional notes

There are two objects in the game that are actually a construction of a few different objects. It's the High Ramp and the Mountain object. In the in-game editor, they are equivalent of Objects S and R, respectively. In Biker, you have to stitch together the different objects that compose the final obstacle.

To make a default High Ramp Object (S), use these parts:

14	High Bump with Ramp - Left Part
1C	High Ramp with Grass Under (variable length, default is 3)
1E	High Ramp with Support and Big Mud Puddle
1C	High Ramp with Grass Under (variable length, default is 4)
1E	High Ramp with Support and Big Mud Puddle
1C	High Ramp with Grass Under (variable length, default is 4)
1F	High Ramp End with Grass Under
1B	Double Line - Lanes 1-2

As you can see, you are not limited to these values, as any repeatable object can have any length you want. Also, you don't have to use two Ramps with Support. You could just have the Left Part, High Ramp and the End Part. Or you could have a super long ramp with many supports...

To make a default Mountain Object (R), use these parts:

15	Slope - 45 degrees
20	Elevated Ground - 4 Lanes (2 tiles elevation, default length is 6)
21	Steep Incline (2 tiles elevation)
22	Elevated Ground - 4 Lanes (6 tiles elevation, default length is 5)
23	Mountain Object - Right Part

Again, you can set the two Elevated Ground parts to any length you want...

Because of limitations of the original ROM size and the way memory is managed by the game, you should not use the in-game track editor, which is kind of futile since you have this editor instead...

The original game keeps track of all of your best times in memory during gameplay, and has distinctive times for Solo and Multi Racers modes. Because of memory limitations, I had to make a small sacrifice in the process: the best times are now the same regardless of the mode used...

There are other versions of Excitebike, with more features. There's one called Excitebike VS, which is equivalent of a NES cartridge, but was originally played as a PlayChoice 10 game. This version has more elaborate cut scenes, a tutorial, more tracks, bonus tracks, score, etc. Another one is Vs. Excitebike, on the Famicom. It has a two-player mode with dedicated tracks. A future version of Biker, if it even comes to existence, could have support for these games as well...

----

Special Thanks

I made this editor pretty much by myself, including the disassembly of the ROM. However, I want to thank the guys at ROMHacking.net who showed some interest in the game and expressed their comments in the thread I made for this purpose. It's nothing big, but it's still something...

----

Comments? Questions? Suggestions? Bugs?
Let me know...

trax@bwass.org
